package com.ruoyi.web.controller.system;

import java.io.File;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.system.service.ISysMenuService;

/**
 * 人脸登录验证
 *
 * @author ruoyi
 */
@RestController
//@RequestMapping("/system/login")
public class SysFaceLoginController
{
    @Autowired
    private SysLoginService loginService;

    @Autowired
    private ISysMenuService menuService;

    @Autowired
    private SysPermissionService permissionService;

    /**
     * 人脸登录方法
     *
     * @param face 人脸信息
     * @return 结果
     */
//    @PostMapping("/loginByFace")
//    public AjaxResult loginByFace(@RequestBody File face)
//    {
//        AjaxResult ajax = AjaxResult.success();
//        //将face于人脸库中的信息进行比对
//        //获取相似度最高的图片的路径
//        //获取对应路径的账号密码
//        File srcFile = new File("E:\\study\\Source\\FamilyGender\\Picture\\face");
//        File[] fileArray = srcFile.listFiles();
//        if(fileArray != null){
//            for (File file :fileArray){
//                System.out.println(file.getAbsolutePath());
//            }
//        }
//        System.out.println("============");
//
//        // 生成令牌
//        LoginBody loginBody = null;
//        loginBody.setUsername("admin");
//        loginBody.setPassword("admin123");
////        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
////                loginBody.getUuid());
////        ajax.put(Constants.TOKEN, token);
//        return ajax;
//    }

    /**
     * 获取用户信息
     *
     * @return 用户信息
     */
//    @GetMapping("getInfo")
//    public AjaxResult getInfo()
//    {
//        SysUser user = SecurityUtils.getLoginUser().getUser();
//        // 角色集合
//        Set<String> roles = permissionService.getRolePermission(user);
//        // 权限集合
//        Set<String> permissions = permissionService.getMenuPermission(user);
//        AjaxResult ajax = AjaxResult.success();
//        ajax.put("user", user);
//        ajax.put("roles", roles);
//        ajax.put("permissions", permissions);
//        return ajax;
//    }

    /**
     * 获取路由信息
     *
     * @return 路由信息
     */
//    @GetMapping("getRouters")
//    public AjaxResult getRouters()
//    {
//        Long userId = SecurityUtils.getUserId();
//        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
//        return AjaxResult.success(menuService.buildMenus(menus));
//    }
//    /**
//     * 获取用户信息
//     *
//     * @return 用户信息
//     */
//    @PostMapping("loginByFace")
//    public AjaxResult loginByFace()
//    {
//        Long userId = SecurityUtils.getUserId();
//        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
//        return AjaxResult.success(menuService.buildMenus(menus));
//    }
}
